Skip to content

Bootstrap MEVD vector data providers - #1

Merged
roji merged 2 commits into
mainfrom
Initial
Apr 25, 2026
Merged

Bootstrap MEVD vector data providers#1
roji merged 2 commits into
mainfrom
Initial

Conversation

@roji

@roji roji commented Apr 19, 2026

Copy link
Copy Markdown
Contributor

Port MEVD (Microsoft Extensions Vector Data) provider implementations from the Semantic Kernel repository into CommunityToolkit.AI.

Providers (9 total)

AzureAISearch, CosmosMongoDB, InMemory, PgVector, Pinecone, Qdrant, Redis, SqliteVec, Weaviate

Infrastructure

  • Namespace migration: Microsoft.SemanticKernel.Connectors.*CommunityToolkit.VectorData.*
  • Central package management via Directory.Packages.props
  • Legacy TFM polyfills (Shared/LegacySupport/) for net462/netstandard2.0
  • Shared utilities: Throw.cs, VectorStoreErrorHandler.cs
  • global.json pinning .NET 10 SDK
  • GitHub Actions CI workflow (.github/workflows/mevd.yml)

Test coverage

  • Unit tests: All 9 providers (511 tests passing)
  • Conformance tests: 7 providers run in CI via Testcontainers (InMemory, PgVector, Pinecone, Qdrant, Redis, SqliteVec, Weaviate)
  • AzureAISearch and CosmosMongoDB conformance tests excluded from CI (require cloud instances), but verified locally

Notable fixes

  • Workaround for CollectionModelBuilder.SetPropertyStorageName bug in MEVD Abstractions 10.5.0 (StorageName not respecting UsesExternalSerializer flag)
  • CosmosMongo: Fixed filter overrides for unsupported operations (Any, Contains variants)
  • CosmosMongo: DateTimeOffset filtering marked as unsupported (pre-existing mismatch between BsonSerializer and BsonValueFactory representations, also failing in SK)

@roji
roji force-pushed the Initial branch 2 times, most recently from 8b23613 to 9781931 Compare April 19, 2026 19:03
@roji
roji marked this pull request as ready for review April 19, 2026 19:21
@roji
roji requested review from jeffhandley and westey-m April 19, 2026 19:22
@roji

roji commented Apr 19, 2026

Copy link
Copy Markdown
Contributor Author

This moves all providers except for SQL Server, Cosmos NoSQL and MongoDB from the Semantic Kernel repo to here.

I made as few changes to product code as possible compared to the Semantic Kernel origin. On the test side I did do some extensive stabilization work, so that now all conformance tests are passing; all but Cosmos Mongo and Azure AI Search are now running in CI (most against Testcontainers) and seem quite reliable (those two exceptions have no Testcontainer option and require an actual cloud instance).

@roji

roji commented Apr 22, 2026

Copy link
Copy Markdown
Contributor Author

@westey-m (and @jeffhandley) pushed a commit which ports microsoft/semantic-kernel#13902 to here.

@jeffhandley jeffhandley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your patience, @roji. This is super comprehensive and from what I can tell everything moved over cleanly. The dev environment is straightforward/idiomatic without challenging setup steps, and the code style is consistent throughout.

I didn't review any of the code for correctness; I trust that's all been reviewed/tested ahead of this transition.

@roji
roji merged commit 49c3e14 into main Apr 25, 2026
28 checks passed
@roji

roji commented Apr 25, 2026

Copy link
Copy Markdown
Contributor Author

Thanks for spending time on this @jeffhandley! I've figure out publishing logistics for this next and we'll get the nugets out (previews).

@adamsitnik
adamsitnik deleted the Initial branch July 1, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants